/*
 * RollingHash.h
 *
 *  Created on: 26/mag/2012
 *      Author: matteo
 */

#ifndef ROLLINGHASH_H_
#define ROLLINGHASH_H_

#include "HashManager.h"


class RollingHash : public HashManager {
public:
	RollingHash(int _base, int _step, char* _vec);
	virtual ~RollingHash();
	void rollingHash();
	int nextDigit(int _index);
	int getFirstDigit(int _index);
	void slideWindow();
	bool isLastCharacter();

	virtual int getShift();
private:
	int 	m_last_index;
};


#endif /* ROLLINGHASH_H_ */
